package com.smart.community.property.dto;

import com.smart.community.commons.base.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 水电费查询数据传输对象
 * @author Wu.Liang
 * @since 2025-06-26
 * @version 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class UtilityFeeQueryDTO extends BaseDTO {
    private static final long serialVersionUID = 5258976501164904269L;

	/**
     * 社区ID
     */
    @NotNull(message = "社区ID不能为空")
    private Long communityId;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 房户ID
     */
    private Long householdId;
    
    /**
     * 费用类型：1-水费，2-电费
     */
    private Integer feeType;
    
    /**
     * 计费周期
     */
    private String billingPeriod;
    
    /**
     * 缴费状态：0-未缴费，1-已缴费，2-逾期
     */
    private Integer paymentStatus;
    
    /**
     * 最小金额
     */
    private BigDecimal minAmount;
    
    /**
     * 最大金额
     */
    private BigDecimal maxAmount;
    
    /**
     * 到期日期开始
     */
    private LocalDate dueDateStart;
    
    /**
     * 到期日期结束
     */
    private LocalDate dueDateEnd;
} 